The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
During start-up of computing devices such switches, routers, computers and the like, a boot program is executed. The boot program is typically run from electrically erasable programmable read-only memory (EEPROM). The boot program takes an image file from flash memory, which has boot information, un-compresses the file and stores it in random access memory (RAM). The boot information may include communication protocols, web server information, and/or configuration information. Once loaded, the boot program instructs a central processing unit (CPU) to run the loaded image file and configure the computing device.
Problems can arise when the image file is corrupted, is an incorrect or incompatible image file, and/or when an updated image file downloading to the flash memory was improperly or incompletely executed. For example, when a user of the computing device upgrades to a new version of product firmware, a new image file is downloaded into flash memory. This is typically done by some form of file transfer. When a failure event occurs during the file transfer, such as a failure event due to a power outage, the user may end up with an incomplete and/or unusable file on the flash memory. This can prevent the electronic computing device from booting.
Without a proper compatible image file, the computing device may be inoperable and/or incapable of performing intended tasks. Some electronic devices have a physical interface, such as a RS-232 interface. The manufacturer may use the physical interface to download a new image file or other data. However, when the computing devices are not at the manufacturer's location, the hard-wired connection usage is cumbersome. As such, a client may need to ship the device back to the manufacturer or another facility for repair or request a technician to perform a “house call”.
One technique that is used to provide a backup image file involves the use of two flash memories. Each flash memory has a copy of an image file. The second image file copy is used when problems occur with the first image file. The second image file allows for normal booting and downloading of a new image file. While improving reliability, cost is increased due the increased amount of flash memory. In other words, a higher manufacturing cost is incurred for a relatively rare event.